﻿#include <iostream>
#include <vector>
using namespace std;
#include "RBTree1.h"

//int main()
//{
//	const int N = 100000;
//	vector<int> v;
//	v.reserve(N);
//	srand(time(0));
//
//	for (size_t i = 0; i < N; i++)
//	{
//		v.push_back(rand() + i);
//	}
//	size_t begin2 = clock();
//	RBTree<int, int> t;
//	for (auto e : v)
//	{
//		t.Insert(make_pair(e, e));
//
//	}
//	size_t end2 = clock();
//	cout << "Insert:" << end2 - begin2 << endl;
//	cout << t.IsBalance() << endl;
//
//	cout << t.Height() << endl;
//
//}

#include "MyMap.h"
#include "MySet.h"

void test_set()
{
	bit::set<int> s;
	s.insert(4);
	s.insert(1);
	s.insert(2);
	s.insert(3);
	s.insert(2);
	s.insert(0);
	s.insert(10);
	s.insert(5);


	bit::set<int>::iterator it = s.begin();
	while (it != s.end())
	{
		//*it += 1;

		cout << *it << " ";
		++it;
	}
	cout << endl;

	// key޸
	//it = s.begin();
	 //*it = 100;

	/*for (auto e : s)
	{
		cout << e << " ";
	}
	cout << endl;*/
}

void test_map()
{
	bit::map<string, string> dict;
	dict.insert(make_pair("sort", "排序"));
	dict.insert(make_pair("sort", "排序"));
	dict.insert(make_pair("left", "左子树"));
	dict.insert(make_pair("right", "右子树"));

	bit::map<string, string>::iterator it = dict.begin();
	while (it != dict.end())
	{
		// key޸
		//it->first += 'x';
		//it->second += 'y';

		cout << it->first << ":" << it->second << endl;
		++it;
	}
	cout << endl;

}

int main()
{
	test_map();
	//test_set();

	return 0;
}

